package net.lahuobao.mall.entity.admin;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.*;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

/**   
 * @Title: Entity
 * @Description: 订单详情
 * @author zhangdaihao
 * @date 2016-12-28 10:15:27
 * @version V1.0   
 *
 */
@Entity
@Table(name = "mall_orderdetail", schema = "lahuobao")
@DynamicUpdate(true)
@DynamicInsert(true)
@SuppressWarnings("serial")
public class MallOrderdetailEntity implements java.io.Serializable {
	/**id*/
	private java.lang.Integer id;
	/**orderid*/
	private java.lang.Integer orderid;
	/**price*/
	private BigDecimal price;
	/**amount*/
	private java.lang.Integer amount;
	/**productid*/
	private java.lang.Integer productid;
	/**productfinalmoney*/
	private BigDecimal productfinalmoney;
	/**productname*/
	private java.lang.String productname;
	/**productcode*/
	private java.lang.String productcode;
	/**productspecification*/
	private java.lang.String productspecification;
	/**hasevaluate*/
	private java.lang.Integer hasevaluate;
	/**expresstime*/
	private java.util.Date expresstime;
	/**expresscompanyid*/
	private java.lang.Integer expresscompanyid;
	/**expressno*/
	private java.lang.String expressno;
	/**orderdetailstatus*/
	private java.lang.Integer orderdetailstatus;
	/**productspecificationid*/
	private java.lang.Integer productspecificationid;
	/**补贴金额*/
	private BigDecimal subsidymoney;
	/**0 金额，1 折扣，2满减*/
	private java.lang.Integer subsidytype;

	private MallOrderB2cEntity mallOrderB2cEntity;

	private MallOrderO2oEntity mallOrderO2oEntity;

	private MallOrderVirtualEntity mallOrderVirtualEntity;

	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  id
	 */
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name ="ID",nullable=false,precision=10,scale=0)
	public java.lang.Integer getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  id
	 */
	public void setId(java.lang.Integer id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  orderid
	 */
	@Column(name ="ORDERID",nullable=false,precision=10,scale=0)
	public java.lang.Integer getOrderid(){
		return this.orderid;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  orderid
	 */
	public void setOrderid(java.lang.Integer orderid){
		this.orderid = orderid;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  price
	 */
	@Column(name ="PRICE",nullable=false,precision=18,scale=2)
	public BigDecimal getPrice(){
		return this.price;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  price
	 */
	public void setPrice(BigDecimal price){
		this.price = price;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  amount
	 */
	@Column(name ="AMOUNT",nullable=false,precision=10,scale=0)
	public java.lang.Integer getAmount(){
		return this.amount;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  amount
	 */
	public void setAmount(java.lang.Integer amount){
		this.amount = amount;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  productid
	 */
	@Column(name ="PRODUCTID",nullable=false,precision=10,scale=0)
	public java.lang.Integer getProductid(){
		return this.productid;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  productid
	 */
	public void setProductid(java.lang.Integer productid){
		this.productid = productid;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  productfinalmoney
	 */
	@Column(name ="PRODUCTFINALMONEY",nullable=false,precision=18,scale=2)
	public BigDecimal getProductfinalmoney(){
		return this.productfinalmoney;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  productfinalmoney
	 */
	public void setProductfinalmoney(BigDecimal productfinalmoney){
		this.productfinalmoney = productfinalmoney;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  productname
	 */
	@Column(name ="PRODUCTNAME",nullable=true,length=100)
	public java.lang.String getProductname(){
		return this.productname;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  productname
	 */
	public void setProductname(java.lang.String productname){
		this.productname = productname;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  productcode
	 */
	@Column(name ="PRODUCTCODE",nullable=true,length=50)
	public java.lang.String getProductcode(){
		return this.productcode;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  productcode
	 */
	public void setProductcode(java.lang.String productcode){
		this.productcode = productcode;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  productspecification
	 */
	@Column(name ="PRODUCTSPECIFICATION",nullable=true,length=1000)
	public java.lang.String getProductspecification(){
		return this.productspecification;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  productspecification
	 */
	public void setProductspecification(java.lang.String productspecification){
		this.productspecification = productspecification;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  hasevaluate
	 */
	@Column(name ="HASEVALUATE",nullable=false,precision=3,scale=0)
	public java.lang.Integer getHasevaluate(){
		return this.hasevaluate;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  hasevaluate
	 */
	public void setHasevaluate(java.lang.Integer hasevaluate){
		this.hasevaluate = hasevaluate;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  expresstime
	 */
	@Column(name ="EXPRESSTIME",nullable=true)
	public java.util.Date getExpresstime(){
		return this.expresstime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  expresstime
	 */
	public void setExpresstime(java.util.Date expresstime){
		this.expresstime = expresstime;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  expresscompanyid
	 */
	@Column(name ="EXPRESSCOMPANYID",nullable=true,precision=10,scale=0)
	public java.lang.Integer getExpresscompanyid(){
		return this.expresscompanyid;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  expresscompanyid
	 */
	public void setExpresscompanyid(java.lang.Integer expresscompanyid){
		this.expresscompanyid = expresscompanyid;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  expressno
	 */
	@Column(name ="EXPRESSNO",nullable=true,length=50)
	public java.lang.String getExpressno(){
		return this.expressno;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  expressno
	 */
	public void setExpressno(java.lang.String expressno){
		this.expressno = expressno;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  orderdetailstatus
	 */
	@Column(name ="ORDERDETAILSTATUS",nullable=false,precision=10,scale=0)
	public java.lang.Integer getOrderdetailstatus(){
		return this.orderdetailstatus;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  orderdetailstatus
	 */
	public void setOrderdetailstatus(java.lang.Integer orderdetailstatus){
		this.orderdetailstatus = orderdetailstatus;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  productspecificationid
	 */
	@Column(name ="PRODUCTSPECIFICATIONID",nullable=false,precision=10,scale=0)
	public java.lang.Integer getProductspecificationid(){
		return this.productspecificationid;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  productspecificationid
	 */
	public void setProductspecificationid(java.lang.Integer productspecificationid){
		this.productspecificationid = productspecificationid;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  补贴金额
	 */
	@Column(name ="SUBSIDYMONEY",nullable=true,precision=18,scale=2)
	public BigDecimal getSubsidymoney(){
		return this.subsidymoney;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  补贴金额
	 */
	public void setSubsidymoney(BigDecimal subsidymoney){
		this.subsidymoney = subsidymoney;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  0 金额，1 折扣，2满减
	 */
	@Column(name ="SUBSIDYTYPE",nullable=true,precision=10,scale=0)
	public java.lang.Integer getSubsidytype(){
		return this.subsidytype;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  0 金额，1 折扣，2满减
	 */
	public void setSubsidytype(java.lang.Integer subsidytype){
		this.subsidytype = subsidytype;
	}


	@Transient
	public MallOrderB2cEntity getMallOrderB2cEntity() {
		return mallOrderB2cEntity;
	}

	public void setMallOrderB2cEntity(MallOrderB2cEntity mallOrderB2cEntity) {
		this.mallOrderB2cEntity = mallOrderB2cEntity;
	}

	@Transient
	public MallOrderO2oEntity getMallOrderO2oEntity() {
		return mallOrderO2oEntity;
	}

	public void setMallOrderO2oEntity(MallOrderO2oEntity mallOrderO2oEntity) {
		this.mallOrderO2oEntity = mallOrderO2oEntity;
	}

	@Transient
	public MallOrderVirtualEntity getMallOrderVirtualEntity() {
		return mallOrderVirtualEntity;
	}

	public void setMallOrderVirtualEntity(MallOrderVirtualEntity mallOrderVirtualEntity) {
		this.mallOrderVirtualEntity = mallOrderVirtualEntity;
	}
}
